Regular Expressions ব্যবহার করে String Manipulation
কটলিনে Regular Expressions (regex) একটি শক্তিশালী টুল, যা টেক্সট ডেটা বিশ্লেষণ এবং পরিচালনার জন্য ব্যবহৃত হয়। এটি বিভিন্ন প্যাটার্ন অনুযায়ী স্ট্রিং খুঁজে বের করতে, ম্যাচ করতে, এবং পরিবর্তন করতে সহায়ক। নিচে কটলিনে Regular Expressions ব্যবহার করে স্ট্রিং ম্যানিপুলেশন সম্পর্কে বিস্তারিত আলোচনা করা হলো।
১. Regular Expressions তৈরি করা
কটলিনে Regular Expressions তৈরি করতে Regex ক্লাস ব্যবহার করা হয়। এই ক্লাসের মাধ্যমে regex প্যাটার্ন তৈরি এবং সেই প্যাটার্ন অনুসারে স্ট্রিংগুলোর উপর অপারেশন করা যায়।
উদাহরণ:
val regex = Regex("Kotlin")
ব্যাখ্যা:
- এখানে
Kotlinশব্দের জন্য একটি regex প্যাটার্ন তৈরি করা হয়েছে।
২. String Matching
স্ট্রিংয়ের সাথে regex প্যাটার্নের মিল খোঁজার জন্য matches(), containsMatchIn(), এবং find() মেথড ব্যবহার করা হয়।
i) matches()
matches() মেথড পুরো স্ট্রিংটির সাথে regex প্যাটার্নটি মেলে কিনা তা চেক করে।
fun main() {
val regex = Regex("^[A-Z][a-z]+$")
val str1 = "Kotlin"
val str2 = "kotlin"
println(regex.matches(str1)) // আউটপুট: true
println(regex.matches(str2)) // আউটপুট: false
}
ব্যাখ্যা:
- এখানে regex প্যাটার্নটি দেখাচ্ছে যে স্ট্রিংটি একটি বড় অক্ষরে শুরু হতে হবে এবং পরে ছোট অক্ষরের একটি সিকোয়েন্স থাকতে হবে।
ii) containsMatchIn()
containsMatchIn() মেথড ব্যবহার করে চেক করা যায় যে স্ট্রিংয়ের মধ্যে কোনো প্যাটার্ন মেলে কিনা।
fun main() {
val regex = Regex("Kotlin")
val str = "I love Kotlin programming."
println(regex.containsMatchIn(str)) // আউটপুট: true
}
iii) find()
find() মেথড প্রথম মেলানো অংশ বের করে। এটি MatchResult? টাইপের রিটার্ন করে।
fun main() {
val regex = Regex("\\d+") // একটি বা একাধিক ডিজিটের জন্য প্যাটার্ন
val str = "I have 2 apples and 5 oranges."
val matchResult = regex.find(str)
println(matchResult?.value) // আউটপুট: 2
}
ব্যাখ্যা:
- এখানে regex প্যাটার্নটি একটি বা একাধিক ডিজিট খুঁজে বের করছে এবং প্রথম মিল খুঁজে পাওয়া গেলে তা প্রিন্ট করছে।
৩. String Replacement
replace() মেথড ব্যবহার করে regex প্যাটার্নের সাথে মিলে যাওয়া অংশগুলি প্রতিস্থাপন করা যায়।
উদাহরণ:
fun main() {
val regex = Regex("\\d+") // ডিজিটের জন্য প্যাটার্ন
val str = "I have 2 apples and 5 oranges."
val newStr = str.replace(regex, "#")
println(newStr) // আউটপুট: I have # apples and # oranges.
}
ব্যাখ্যা:
- এখানে ডিজিটের জন্য প্যাটার্ন ব্যবহার করে
replace()মেথড ডিজিটগুলোকে#দিয়ে প্রতিস্থাপন করছে।
৪. String Splitting
split() মেথড ব্যবহার করে একটি স্ট্রিংকে regex প্যাটার্নের ভিত্তিতে বিভক্ত করা যায়।
উদাহরণ:
fun main() {
val regex = Regex("[, ]+") // কমা বা স্পেস দ্বারা বিভাজক
val str = "apple, orange, banana, grape"
val fruits = str.split(regex)
println(fruits) // আউটপুট: [apple, orange, banana, grape]
}
ব্যাখ্যা:
- এখানে কমা বা স্পেস দ্বারা স্ট্রিংকে বিভক্ত করা হচ্ছে।
৫. Regex Flags
কটলিনে Regex ক্লাসে কিছু ফ্ল্যাগ ব্যবহার করে প্যাটার্নের আচরণ নিয়ন্ত্রণ করা যায়, যেমন IGNORE_CASE।
উদাহরণ:
fun main() {
val regex = Regex("kotlin", RegexOption.IGNORE_CASE)
val str = "I love Kotlin programming."
println(regex.containsMatchIn(str)) // আউটপুট: true
}
ব্যাখ্যা:
IGNORE_CASEফ্ল্যাগ ব্যবহার করে প্যাটার্নের ক্ষেত্রে কোনও ভেদাভেদ করা হচ্ছে না।
উপসংহার
কটলিনে Regular Expressions একটি অত্যন্ত শক্তিশালী টুল যা স্ট্রিং ম্যানিপুলেশনকে সহজ এবং কার্যকর করে। আপনি regex ব্যবহার করে স্ট্রিং ম্যাচিং, পরিবর্তন, বিভক্তকরণ এবং ফিল্টারিং করতে পারেন। কটলিনের বিল্ট-ইন regex ফিচারগুলি আপনার কোডকে আরও রিডেবল এবং কার্যকর করে তোলে।
Read more